In contactless applications such as those noted above, several modules are often subject to the “interrogation” field of a terminal at the same time. This situation is represented in FIG. 1, where a terminal TRM is illustratively in the presence of several modules M1, M2, M3, . . . , Mn, which are arranged to communicate with the terminal by inductive coupling.
The terminal TRM has a communication interface IT including an antenna coil enabling it to generate a magnetic field FLD to send data to the modules. This is generally done by modulating the amplitude of the magnetic field. The antenna coil also allows data to be received from the modules. The modules M1-Mn are equipped with communication interfaces IM. Each communication interface IM includes an antenna coil enabling it to send data to the terminal, typically by charge modulation (attenuation of the magnetic field by short-circuiting the antenna coils), and to receive the data sent by the terminal.
In the configuration illustrated in FIG. 1, the terminal needs to establish communications with each of the modules to perform an intended operation. For example, such operations may include monetary transactions, identification and/or authentication operations (i.e., access control), a toll collection operation, or an identification operation without authentication (e.g., taking an inventory). Communications with a given module should be confined to that module. That is, such communications should not be interrupted by messages from other modules. Otherwise, such message collision results in the terminal receiving errant messages.
Generally speaking, the terminal does not know the identity of the modules present in its interrogation field. As such, it is generally not possible for the terminal to send a particular message to a particular module that would enable this module to be made active while causing the others to be silent.
The above-described problems are typically addressed through the use of anti-collision methods. Such methods generally require that the modules each have a specific identification number which allows them to be differentiated from one another by the terminal.
Two general types of prior art anti-collision methods are determinist methods and probabilistic methods. According to determinist methods, the terminal sends marking commands for marking out time slots (i.e., response positions) on a time scale (i.e., temporal response scale) which includes 2N time slots. Each module sends an identification message including its identification number when a time slot corresponding to the first N bits of its identification number is reached. When a module is the only one to respond on a time slot, the terminal identifies it and can select it.
If two modules respond on the same time slot, this means that the first N bits of their identification number are identical. The terminal detects the collision and sends a nominative complementary identification request including the N bits of the colliding identification numbers. This nominative complementary identification request only relates to the modules colliding on the time slot defined by the N bits specified In response to the nominative complementary identification request, the modules concerned establish a new time slot, this time using the next N bits of their identification number, and send back a new identification message.
The above sequence can be repeated several times until all the modules are identified and/or selected. It may also be repeated for each time slot as many times as the number of sub-groups of N bits remaining to be covered in the identification numbers.
The deterministic identification process has a “tree” structure in that each nominative complementary identification step only relates to the modules colliding on a pre-determined time slot. Therefore, for example, if two first modules have N identical first bits, and two other modules have N identical first bits that are different from the N first bits of the first two modules, the identification of the four modules will require at least two complementary identification steps. That is, one step will be needed to choose between the first two modules, and the second step to choose between the second two modules. In practice, the tree structure of determinist methods can become very complex as the number of modules increases, and the identification of each module requires a rather long processing time.
Anti-collision methods also imply that the modules execute relatively complex algorithms enabling them to find out whether or not they need to respond to a nominative complementary identification request. Furthermore, when the number of modules increases, the risk of two modules having the same identification number increases, which corresponds to a total collision and the impossibility of choosing between two modules. Therefore, the length of the identification numbers has to be increased to reduce this risk.
In addition to providing very long identification numbers, another measure enabling the risk of a total collision to be reduced is that each module generates a random identification number prior to a communication. The identification number is then used by the module for all the successive interrogations until the module is switched off or deactivated. However, the generation of very long random identification numbers requires providing powerful, high-performance random number generators. Yet, such generators are typically quite complex and very costly, and they are also of considerable size in terms of silicon surface are.
A determinist anti-collision method is, for example, recommended by the ISO 14443-3 type B standard, which provides that the modules have identification numbers of 32 bits, which may be random. In summary, the determinist methods provide for tree-type identification of modules, which is complex to implement, relatively slow, and requires high-performance random number generators.
However, the advantage of these methods is that, as the identification of the modules is of a tree type, a substantial number of time slots are not required. For example, by choosing a number N equal to 4 (i.e., four bits), only 16 time slots are needed.
Probabilistic methods can be distinguished from determinist methods in that the time slot of a module is independent of its identification number. The terminal first sends a general identification request that triggers the generation of a random number in the module. This random number determines the time slot of the module to send an identification message including its identification number.
The effectiveness of probabilistic methods, when the number of modules increases, does not depend on the length of the identification numbers (although the need to not have two modules having the same identification number still remains), but on the staggering of the time scale. Therefore, the greater the number of time slots, the more the probabilistic method is effective. In the event of a collision, the non-identified modules receive a non-nominative complementary identification request and determine a new random time slot. As the complementary identification step is not nominative, it relates to modules that have collided on different time slots, unlike the nominative identification steps of determinist methods.
In summary, probabilistic anti-collision methods are easier to implement as far as the algorithms to be loaded into the modules are concerned. Yet, these methods require an extensive time scale to be applicable to a substantial number of modules. On the other hand, if the time scale is extensive, the identification process may prove to be unnecessarily long when a small number of modules is located simultaneously in the interrogation field of the terminal.
By way of example, consider the case where 255 time slots are provided and only two modules are located in the interrogation field of the terminal. It is possible that a module randomly chooses the time slot No. 1 while the other module chooses the time slot No. 255. In this case, after identifying the first module, it is necessary to cover the entire time scale and reach the 255th time slot to identify the second module.
Yet another disadvantage of classical probabilistic methods is that a collision on the identification numbers can occur between two modules that have not responded on the same time slot. The terminal then has to cause the modules to generate new identification numbers and start the identification process again.